<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns:ui="http://java.sun.com/jsf/facelets"
                template="/WEB-INF/template/globalTemplate.xhtml"
                xmlns:h="http://java.sun.com/jsf/html"
                xmlns:p="http://primefaces.org/ui"
                xmlns:f="http://java.sun.com/jsf/core">
    <f:metadata>
        <f:viewParam name="action" converter="#{utilisateurConverter}" value="#{adminUtilisateursBean.currentUtilisateur}" />
    </f:metadata>

    <ui:define name="title">#{msg['application.titre.administration.utilisateur']}</ui:define>
    <ui:define name="ariane">
                <h:commandLink action="/faces/index.xhtml"  
                       value="#{msg['application.titre.accueil']}"/>
        >
        #{msg['application.titre.administration.utilisateur']}
    </ui:define>

    <ui:define name="content">
        <h:panelGroup styleClass="titre">Gestion d'un utilisateur</h:panelGroup>

        <h:panelGrid columns="5" id="rec">
            <h:outputLabel for="inputRecherche"
                           value="Login windows à recherche:"/>
            <p:spacer width="20" height="10" />
            <p:inputText value="#{adminUtilisateursBean.nomARechercher}"
                         id="inputRecherche" style="width:400px"/>
            <p:spacer width="20" height="10" />
            <p:commandButton  value="Recherche LDAP" actionListener="#{adminUtilisateursBean.rechercheLDAP()}" 
                              update="infopersonnel infoPrinc messages" /> 
        </h:panelGrid>
        <p:separator/>  

        <h:panelGrid columns="3" id="infoPrinc">
            <h:outputLabel for="inputLogin"
                           value="Login :"/>
            <p:inputText value="#{adminUtilisateursBean.currentUtilisateur.login}"
                         id="inputLogin" style="width:98%" readonly="true"/>
            <p:spacer width="20" height="10" />

            <h:outputLabel for="inputLogin"
                           value="Role :"/>
            <p:pickList value="#{adminUtilisateursBean.roles}"  
                        var="role" iconOnly="true" effect="drop"  
                        itemValue="#{role}" converter="#{genericConverter}"  
                        showSourceControls="false" showTargetControls="false">  
                <f:facet name="sourceCaption">Rôles disponibles</f:facet>  
                <f:facet name="targetCaption">Affectés</f:facet>  

                <p:column style="width:75%">  
                    #{role.libelle}  
                </p:column>  
            </p:pickList>  
            <p:spacer width="20" height="10" />

            <h:outputLabel for="inputMail"
                           value="Adresse Mail :"/>
            <p:inputText value="#{adminUtilisateursBean.currentUtilisateur.mail}"
                         id="inputMail" style="width:98%"/>
            <p:spacer width="20" height="10" />

            <h:outputLabel for="inputEntite"
                           value="Entite :"/>
            <p:inputText value="#{adminUtilisateursBean.currentUtilisateur.entite}"
                         id="inputEntite" style="width:98%"/>
            <p:spacer width="20" height="10" />

            <h:outputText value="Ajouter le personnel associé ? " />          
            <p:selectBooleanCheckbox id="checkAjout"
                                     value="#{adminUtilisateursBean.ajoutPersonnel}" >  
                <p:ajax update="infopersonnel sep1 output1" />  
            </p:selectBooleanCheckbox>  
            <p:spacer width="20" height="10" />

        </h:panelGrid>
        <p:outputPanel autoUpdate="true" >
            <p:separator rendered="#{adminUtilisateursBean.ajoutPersonnel}" id="sep1"/>  
            <h:outputText value="Informations Complementaires :" rendered="#{adminUtilisateursBean.ajoutPersonnel}" id="output1"/> 

            <h:panelGrid columns="3" rendered="#{adminUtilisateursBean.ajoutPersonnel}" id="infopersonnel">
                <h:outputLabel for="inputNom"
                               value="Nom :"/>
                <p:inputText value="#{adminUtilisateursBean.currentUtilisateur.personnel.nom}"
                             id="inputNom" style="width:98%"/>
                <p:spacer width="20" height="10" />

                <h:outputLabel for="inputPrenom"
                               value="Prenom :"/>
                <p:inputText value="#{adminUtilisateursBean.currentUtilisateur.personnel.prenom}"
                             id="inputPrenom" style="width:98%"/>
                <p:spacer width="20" height="10" />

                <h:outputLabel for="inputGrade"
                               value="Grade :"/>
                <p:inputText value="#{adminUtilisateursBean.currentUtilisateur.personnel.grade}"
                             id="inputGrade" style="width:98%"/>
                <p:spacer width="20" height="10" />

            </h:panelGrid>
            <p:separator />  
        </p:outputPanel>

        <h:panelGrid columns="5">
            <p:spacer width="300" height="10" />
            <p:commandButton  value="Créer" actionListener="#{adminUtilisateursBean.creer}" 
                              update="infoPrinc infopersonnel sep1 output1 checkAjout messages" 
                              rendered="#{adminUtilisateursBean.nouveauUtil}"/> 
            <p:commandButton  value="Valider" 
                              action="#{adminUtilisateursBean.save()}" 
                              update="infoPrinc infopersonnel sep1 output1 checkAjout rec messages" 
                              rendered="#{!adminUtilisateursBean.nouveauUtil}"/> 
            <p:spacer width="70" height="10" />
            <p:commandButton  value="Remise à zero" actionListener="#{adminUtilisateursBean.raz}" 
                              update="infoPrinc infopersonnel sep1 output1 checkAjout" 
                              rendered="#{adminUtilisateursBean.nouveauUtil}"  /> 
            <p:commandButton  value="Annuler" 
                              action="#{adminUtilisateursBean.retourListe()}" 
                              update="infoPrinc infopersonnel sep1 output1 checkAjout rec" 
                              rendered="#{!adminUtilisateursBean.nouveauUtil}"  /> 
            <p:spacer width="100" height="10" />
        </h:panelGrid>
    </ui:define>

</ui:composition>
